package com.sfj.system.mapper;

import com.baomidou.mybatisplus.core.metadata.IPage;
import com.sfj.system.dto.role.RoleInfoDTO;
import com.sfj.system.dto.role.RoleInfoRes;
import com.sfj.system.dto.role.RoleQueryDTO;
import com.sfj.system.dto.userinfo.UserInfoQueryDTO;
import com.sfj.system.entity.RoleInfoEntity;
import com.sfj.system.entity.UserInfoEntity;
import org.apache.ibatis.annotations.Mapper;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author kaka
 * @Date 2025/06/29
 */
@Mapper
public interface RoleInfoMapper {

    List<String> selectFuncListByRoleId(@Param("roleId") Integer roleId);

    RoleInfoEntity selectByPrimaryKey(Integer id);

    IPage<RoleInfoEntity> queryRoleInfoList(IPage<?> iPage, @Param("record") RoleQueryDTO record);

    int insert(RoleInfoEntity record);

    int updateById(RoleInfoEntity record);

    int deleteById(Integer id);

    // 删除映射
    int deleteFuncMapByRoleId(@Param("roleId") Integer roleId);

    // 插入映射
    int insertFuncMap(@Param("roleId") Integer roleId, @Param("funcIds") List<String> funcIds);

    List<RoleInfoRes> queryList();
}

